home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / CPlusPlus / NamSpac.xh < prev    next >
Encoding:
Text File  |  1997-02-13  |  7.1 KB  |  312 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: NamSpac.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODNameSpace_xh
  18. #define SOM_ODNameSpace_xh
  19.  
  20. class ODNameSpace;
  21.  
  22. #define ODNameSpace_MajorVersion 1
  23. #define ODNameSpace_MinorVersion 0
  24.  
  25. /* C++ SOM defs */
  26. #include <somcls.xh>
  27. #include <somcm.xh>
  28.  
  29. /* C++ parent defs */
  30. #ifndef SOM_ODObject_xh
  31. #include <ODObject.xh>
  32. #endif
  33.  
  34. #ifndef ODNameSpace_API
  35. #define ODNameSpace_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. class SOMClass;
  44. class SOMObject;
  45. class ODFrame;
  46. class ODFacet;
  47. class ODObject;
  48. class ODExtension;
  49. class ODNameSpace;
  50. class ODStorageUnitView;
  51.  
  52. /*
  53.  * End of user-defined types.
  54.  */
  55.  
  56. #ifdef OLDIBMSOMAPISUPPORT
  57. #define ODNameSpaceCClassData ODNameSpaceClassData
  58. #define ODNameSpaceNewClass(major,minor) somNewVersionedClassReference(ODNameSpace,major,minor)
  59. #endif
  60.  
  61. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  62. #define ODNameSpaceMetaClass SOMClass
  63.  
  64. #if PRAGMA_ALIGN_SUPPORTED
  65. #  pragma options align=power
  66. #endif
  67.  
  68. /* The API to the ODNameSpace class object, and the methods it introduces. */
  69. SOMEXTERN struct ODNameSpaceClassDataStructure {
  70. #ifdef OLDIBMSOMAPISUPPORT
  71.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  72. #else
  73.     long zero;
  74. #endif
  75.     somStaticClassInfo *sci;
  76.     somDToken        instanceDataToken;
  77.     long reserved [3];
  78.     somMToken GetName;
  79.     somMToken GetType;
  80.     somMToken GetParent;
  81.     somMToken SetType;
  82.     somMToken Unregister;
  83.     somMToken Exists;
  84.     somMToken WriteToFile;
  85.     somMToken ReadFromFile;
  86.     somMToken WriteToStorage;
  87.     somMToken ReadFromStorage;
  88.     somMToken reserved1;
  89.     somMToken reserved2;
  90.     somMToken reserved3;
  91.     somMToken reserved4;
  92.     somMToken reserved5;
  93.     somMToken reserved6;
  94.     somMToken reserved7;
  95. } SOMDLINK ODNameSpaceClassData;
  96.  
  97. #if PRAGMA_ALIGN_SUPPORTED
  98. #  pragma options align=reset
  99. #endif
  100.  
  101. #if !defined(ODNameSpace_Class_Source) && !defined(SOM_Module_namspac_Source)
  102. #if PRAGMA_IMPORT_SUPPORTED
  103. #pragma import list ODNameSpaceClassData
  104. #endif
  105. #endif
  106.  
  107.  
  108. /*
  109.  * -- Typedefs and inline method declarations for left path inherited methods
  110.  * -- are omitted because this compilation had -museinheritedmethods in effect
  111.  */
  112.  
  113.  
  114. /*
  115.  * -- Typedefs for ODNameSpace Method Procedures
  116.  */
  117. SOMEXTERN {
  118. typedef ODISOStr   (* SOMLINK somTD_ODNameSpace_GetName)(ODNameSpace *somSelf, Environment *ev);
  119. typedef ODNSTypeSpec   (* SOMLINK somTD_ODNameSpace_GetType)(ODNameSpace *somSelf, Environment *ev);
  120. typedef ODNameSpace*   (* SOMLINK somTD_ODNameSpace_GetParent)(ODNameSpace *somSelf, Environment *ev);
  121. typedef void   (* SOMLINK somTD_ODNameSpace_SetType)(ODNameSpace *somSelf, Environment *ev,
  122.         ODNSTypeSpec type);
  123. typedef void   (* SOMLINK somTD_ODNameSpace_Unregister)(ODNameSpace *somSelf, Environment *ev,
  124.         ODISOStr key);
  125. typedef ODBoolean   (* SOMLINK somTD_ODNameSpace_Exists)(ODNameSpace *somSelf, Environment *ev,
  126.         ODISOStr key);
  127. typedef void   (* SOMLINK somTD_ODNameSpace_WriteToFile)(ODNameSpace *somSelf, Environment *ev,
  128.         ODByteArray* file);
  129. typedef void   (* SOMLINK somTD_ODNameSpace_ReadFromFile)(ODNameSpace *somSelf, Environment *ev,
  130.         ODByteArray* file);
  131. typedef void   (* SOMLINK somTD_ODNameSpace_WriteToStorage)(ODNameSpace *somSelf, Environment *ev,
  132.         ODStorageUnitView* view);
  133. typedef void   (* SOMLINK somTD_ODNameSpace_ReadFromStorage)(ODNameSpace *somSelf, Environment *ev,
  134.         ODStorageUnitView* view);
  135. }
  136.  
  137. #endif /* ODNameSpace_API */
  138.  
  139.  
  140. /*
  141.  * -- This emitter treats Method Tokens as Thunks by default.
  142.  * -- Use the sc modifier "nothunks" to change this default
  143.  */
  144. #undef somresolve_
  145. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  146.  
  147. /*
  148.  * -- The C++ Wrapper Class for ODNameSpace
  149.  */
  150. class ODNameSpace : public ODObject
  151. {
  152. public:
  153.  
  154. // ODNameSpace::new registers use of the class object, and then uses somNew
  155. // to allocate memory and load the object method table pointer. 
  156. void *operator new(size_t size)
  157. {
  158.     SOM_IgnoreWarning(size);
  159.     // Allocate memory using the default allocator for ODNameSpace, and
  160.     // clear mem & set method table pointer, call basic initialization
  161. #ifdef SOMCHKNULL
  162.     void * __somResult = (void *)
  163.       somNewObject(ODNameSpace);
  164.     SOMCHKNULL(__somResult);
  165.     return __somResult;
  166. #else
  167.     return (void*) somNewObject(ODNameSpace);
  168. #endif
  169. }
  170.  
  171. // ODNameSpace::delete uses the default deallocator for the object's class.
  172. void operator delete(void * obj)
  173. {
  174.     if (obj) {
  175.         SOM_Resolve(obj,SOMObject,somFree)
  176.            ( (SOMObject*) obj );
  177.     }
  178. }
  179.  
  180. /* method: GetName */
  181. ODISOStr   GetName(Environment *ev)
  182. {
  183.    #ifdef SOMCHKEXCEPT
  184.    ODISOStr __somResult = 
  185.       SOM_ResolveD(this,ODNameSpace,ODNameSpace,GetName)
  186.     (this,ev);
  187.       SOMCHKEXCEPT;
  188.    return __somResult;
  189. #else
  190.    return SOM_ResolveD(this,ODNameSpace,ODNameSpace,GetName)
  191.     (this,ev);
  192. #endif
  193. }
  194.  
  195. /* method: GetType */
  196. ODNSTypeSpec   GetType(Environment *ev)
  197. {
  198.    #ifdef SOMCHKEXCEPT
  199.    ODNSTypeSpec __somResult = 
  200.       SOM_ResolveD(this,ODNameSpace,ODNameSpace,GetType)
  201.     (this,ev);
  202.       SOMCHKEXCEPT;
  203.    return __somResult;
  204. #else
  205.    return SOM_ResolveD(this,ODNameSpace,ODNameSpace,GetType)
  206.     (this,ev);
  207. #endif
  208. }
  209.  
  210. /* method: GetParent */
  211. ODNameSpace*   GetParent(Environment *ev)
  212. {
  213.    #ifdef SOMCHKEXCEPT
  214.    ODNameSpace* __somResult = 
  215.       SOM_ResolveD(this,ODNameSpace,ODNameSpace,GetParent)
  216.     (this,ev);
  217.       SOMCHKEXCEPT;
  218.    return __somResult;
  219. #else
  220.    return SOM_ResolveD(this,ODNameSpace,ODNameSpace,GetParent)
  221.     (this,ev);
  222. #endif
  223. }
  224.  
  225. /* method: SetType */
  226. void   SetType(Environment *ev,
  227.         ODNSTypeSpec type)
  228. {
  229.    SOM_ResolveD(this,ODNameSpace,ODNameSpace,SetType)
  230.     (this,ev,type);
  231. #ifdef SOMCHKEXCEPT
  232.       SOMCHKEXCEPT;
  233. #endif
  234. }
  235.  
  236. /* method: Unregister */
  237. void   Unregister(Environment *ev,
  238.         ODISOStr key)
  239. {
  240.    SOM_ResolveD(this,ODNameSpace,ODNameSpace,Unregister)
  241.     (this,ev,key);
  242. #ifdef SOMCHKEXCEPT
  243.       SOMCHKEXCEPT;
  244. #endif
  245. }
  246.  
  247. /* method: Exists */
  248. ODBoolean   Exists(Environment *ev,
  249.         ODISOStr key)
  250. {
  251.    #ifdef SOMCHKEXCEPT
  252.    ODBoolean __somResult = 
  253.       SOM_ResolveD(this,ODNameSpace,ODNameSpace,Exists)
  254.     (this,ev,key);
  255.       SOMCHKEXCEPT;
  256.    return __somResult;
  257. #else
  258.    return SOM_ResolveD(this,ODNameSpace,ODNameSpace,Exists)
  259.     (this,ev,key);
  260. #endif
  261. }
  262.  
  263. /* method: WriteToFile */
  264. void   WriteToFile(Environment *ev,
  265.         ODByteArray* file)
  266. {
  267.    SOM_ResolveD(this,ODNameSpace,ODNameSpace,WriteToFile)
  268.     (this,ev,file);
  269. #ifdef SOMCHKEXCEPT
  270.       SOMCHKEXCEPT;
  271. #endif
  272. }
  273.  
  274. /* method: ReadFromFile */
  275. void   ReadFromFile(Environment *ev,
  276.         ODByteArray* file)
  277. {
  278.    SOM_ResolveD(this,ODNameSpace,ODNameSpace,ReadFromFile)
  279.     (this,ev,file);
  280. #ifdef SOMCHKEXCEPT
  281.       SOMCHKEXCEPT;
  282. #endif
  283. }
  284.  
  285. /* method: WriteToStorage */
  286. void   WriteToStorage(Environment *ev,
  287.         ODStorageUnitView* view)
  288. {
  289.    SOM_ResolveD(this,ODNameSpace,ODNameSpace,WriteToStorage)
  290.     (this,ev,view);
  291. #ifdef SOMCHKEXCEPT
  292.       SOMCHKEXCEPT;
  293. #endif
  294. }
  295.  
  296. /* method: ReadFromStorage */
  297. void   ReadFromStorage(Environment *ev,
  298.         ODStorageUnitView* view)
  299. {
  300.    SOM_ResolveD(this,ODNameSpace,ODNameSpace,ReadFromStorage)
  301.     (this,ev,view);
  302. #ifdef SOMCHKEXCEPT
  303.       SOMCHKEXCEPT;
  304. #endif
  305. }
  306.  
  307. };   /* ODNameSpace */
  308.  
  309.  
  310.  
  311. #endif       /* SOM_ODNameSpace_xh */
  312.